Conventional computer systems have at least one module or chassis. The module has a fixed number of slots for holding a certain number of printed circuit boards, such as single board computers and boards for controlling peripheral devices, for example. For complex computer system configurations, there could be many cables interconnecting each of the boards in the modules.
Modules are commercially available in a variety of sizes; the smallest module may be capable of holding a few printed circuit boards, while the largest module may be able to contain many printed circuit boards. If a user wanted to add more printed circuit boards to a module in which all the slots of the module were filled, the user would have to purchase a new module that would be capable of holding all of the printed circuit boards. Thus, conventional modules are not expandable for accommodating more printed circuit boards.
Conventional computer systems are inflexible because a completely new module has to be purchased every time a user wants to add more boards to a module in which all the printed circuit board slots are filled. Consequentially, a user typically buys a large module capable of holding a large amount of boards even if all the slots would not be filled. The large module would be capable of holding additional boards when they must be added to the system configuration.
Buying a large module or chassis has many disadvantages. First, large modules are expensive. Second, large modules occupy more office or desk-top space than smaller systems. Third, large modules are difficult to manufacture and are more likely to have manufacturing and assembly defects since they require more components. Fourth, a probability for more manufacturing and assembly defects in large modules translates into more chances for system failure.
Accordingly, there exists a significant need for a computer system in which printed circuit boards can be added to the system without requiring a purchase of a large module.